RtAllocateContiguousMemory

RtAllocateContiguousMemory allocates physically contiguous memory.

Syntax

PVOID RtAllocateContiguousMemory(
    ULONG Length,
    LARGE_INTEGER PhysicalAddress
);

Parameters

Length

An unsigned 32-bit quantity indicating the amount of memory, in bytes, to allocate.

PhysicalAddress

The highest physical address that can be part of the range allocated.

Return Value

A pointer to the memory if the function succeeds, a NULL pointer if the function fails

Remarks

RtAllocateContiguousMemory allocates memory in the virtual address space of the process, backed by contiguous, non-paged physical memory. The second argument allows the user to specify the highest acceptable physical address. If this memory is used with certain hardware devices, an upper-addressing limit may be imposed by the design of the hardware device.

NOTE: The amount of non-paged, contiguous memory available is relatively limited, and is rapidly fragmented during normal system operation. Applications should use this resource carefully and obtain allocations early in operation.

Requirements

Minimum Supported Version RTX64 2013
Header Rtapi.h
Library RtApi.lib (Windows), Rtx_Rtss.lib (RTSS)

See Also:

RtFreeContiguousMemory

RtGetPhysicalAddress